package utils
{
	import flash.utils.ByteArray;
	
	import utils.pool.ObjectPool;
	
	public class StringUtil
	{
		public function StringUtil()
		{
		}
		
		/**
		 * 按照规定好的格式重组字符串
		 * @param format 格式
		 * @param args 参数
		 * @return 重组好的字符串
		 */		
		public static function format(format:String, ...args):String {
			if(format == null) return "";
			for(var i:int = 0; i < args.length; i++) {
				format = format.replace("{" + i + "}", args[i].toString());
			}
			return format;
		}
		/**
		 * 获取字符串的字节长度
		 * @param str 要获取字节长度的字符串
		 * @return 字符串的字节长度
		 */		
		public static function length(str:String):int {
			var bytes:ByteArray = ObjectPool.pop(ByteArray);
			bytes.length = 0;
			bytes.position = 0;
			bytes.writeUTFBytes(str);
			var len:int = bytes.length;
			ObjectPool.push(bytes);
			return len;
		}
	}
}